home *** CD-ROM | disk | FTP | other *** search
/ Die Ultimative Software-P…i Collection 1996 & 1997 / Die Ultimative Software-Pakete CD-ROM fur Atari Collection 1996 & 1997.iso / a / a_funk / morse.tos / MORSE / MORSE.EGV < prev    next >
Encoding:
Text File  |  1996-10-30  |  37.6 KB  |  2,584 lines

  1. bbs> Msg# 80026   To: ATARI @ALLE   From: DB0OVV   Date: 11Oct90/1733
  2. Subject: CW-Uebungsprg.LST (GFA 3.? oder > )
  3. Bulletin ID: 11A001DK0MWX
  4. Path: DB0IE!DB0GV!DB0EAM!DK0MWX
  5. de DB0OVV @ DK0MWX
  6.  
  7. ' Hallo liebe YL's und OM's !
  8. ' Hier ist DG1EGV(joerg) an DB0OVV.
  9. ' Wir (DG2FO(Wolfgang) und ich) haben zusammen ein kleines
  10. ' Anfänger-CW-Übungsprogramm geschrieben.
  11. ' Das Programm ist nichts besonderes, aber fuer den Anfang....
  12. ' Es ist noch zu beachten das in den ALLERTBOXEN der "|" (der Vertikalestrich)
  13. ' mitkommt ! Damit hatten wir bei der Übertragung schon Probleme !
  14. ' Noch mal vielen Dank an alle OM's die mit wegen dem CW-Übungsprogramm
  15. ' geschrieben hatten.... SO, UND JETZT :
  16. ' WRITTEN BY JPV(DG1EGV) and DG2FO
  17. verstr$="xxxx1xxxx"
  18. bis=35
  19. spl=9
  20. spk=3
  21. p=50
  22. anf:
  23. CLS
  24. DEFFILL 1,2,4
  25. DEFLINE 1,10
  26. DEFTEXT 1,0,0,32
  27. LINE 0,40,640,40
  28. LINE 0,260,640,260
  29. LINE 0,190,640,190
  30. TEXT 10,30,"MORSEN"
  31. DEFTEXT 1,0,0,13
  32. TEXT 130,22,"Programmed by DG2FO und JPV(DG1EGV) Stand 10.10.90"
  33. LINE 0,150,640,150
  34. DEFLINE 1,1
  35. TEXT 37,86,"F1    GRUPPEN"
  36. BOX 20,70,70,90
  37. FILL 27,86
  38. TEXT 197,86,"F2    TEXT"
  39. BOX 180,70,230,90
  40. FILL 187,86
  41. TEXT 337,86,"F3    TEXT VON DISK"
  42. BOX 320,70,370,90
  43. FILL 332,86
  44. TEXT 530,86,"F10   INFO"
  45. BOX 518,70,563,90
  46. FILL 530,86
  47. TEXT 37,120,"F4     END                  Auswahl von Tempo und Zeichen mit  [ ALT-S ]"
  48. BOX 20,105,70,124
  49. FILL 27,120
  50. BOX 620,105,535,124
  51. BOX 625,100,530,129
  52. REPEAT
  53.   a=INP(2)
  54.   SELECT a
  55.   CASE 187
  56.     @cw_gruppen
  57.   CASE 188
  58.     @cw_text
  59.   CASE 189
  60.     @cw_disk
  61.   CASE 190
  62.     @cw_end
  63.   CASE 196
  64.     @cw_info
  65.   CASE 159
  66.     @setup
  67.   CASE 163
  68.     @help
  69.     GOTO anf
  70.   ENDSELECT
  71. UNTIL FALSE
  72. PROCEDURE setup
  73.   ALERT 2,"  SETUP",1,"OKay|Nee",a   ! HIER      (OKAY NEE)
  74.   IF a=1 THEN
  75.     ALERT 2,"Alle Zeichen",2,"JA|NEIN",a    ! HIER  ( JA NEIN)
  76.     SELECT a
  77.     CASE 1
  78.       verstr$="xxxx2xxxx"
  79.       bis=47-2
  80.     CASE 2
  81.       verstr$="xxxx1xxxx"
  82.       bis=37-2
  83.     ENDSELECT
  84.     ALERT 2," SPEED",3,"1|2|3",a    !HIER   (1 2 3)
  85.     SELECT a
  86.     CASE 1
  87.       spl=3
  88.       spk=1
  89.     CASE 2
  90.       spl=6
  91.       spk=2
  92.     CASE 3
  93.       spl=9
  94.       spk=3
  95.     ENDSELECT
  96.     ALERT 3,"Pausen",3,"1|2|3",a     !HIER (1 2 3)
  97.     SELECT a
  98.     CASE 1
  99.       p=10
  100.     CASE 2
  101.       p=30
  102.     CASE 3
  103.       p=50
  104.     ENDSELECT
  105.   ENDIF
  106. RETURN
  107. PROCEDURE cw_info
  108.   CLS
  109.   PRINT
  110.   PRINT " Dieses Programm wurde von DG2FO im Entwurf geschrieben u. nachgearbeitet."
  111.   PRINT " Nach einiger Zeit habe ich (DG1EGV) dieses Programm Modifiziert."
  112.   PRINT " Das Programm ist in der Lage mit ALT-S eingestellt zu werden."
  113.   PRINT " Dabei gillt das 1 schnell und 3.. langsam ist ."
  114.   PRINT " Geschriebe fuer GFA 3.00 oder neuer !"
  115.   PRINT " Dieses Programm ist PD-SOFT, und darf frei Kopiert werden."
  116.   PRINT " Nachrichten bitte an DB0OVV @ DK0MWX"
  117.   PRINT
  118.   PRINT " Adressen der Autoren :"
  119.   PRINT " Joerg Plenert"
  120.   PRINT " Toenningstr. 64"
  121.   PRINT " 4223 Voerde"
  122.   PRINT " DG1EGV,  DB0OVV @ DK0MWX"
  123.   PRINT
  124.   PRINT " Wolfgang Wenger "
  125.   PRINT " Schuetzenbuehlstr. 3"
  126.   PRINT " 7000 Stuttgart 40 "
  127.   PRINT " DG2FO @ DB0SAO "
  128.   PRINT
  129.   PRINT " F1 GRUPPEN   F2 TEXT eingeben   F3 TEXT von Disk  F10 diesen TEXT"
  130.   PRINT
  131.   PRINT " F4 beendet das Programm        *** JEDE TASTE FUER ZUM START ***"
  132.   PRINT
  133.   PRINT "                         TASTE ?"
  134.   REPEAT
  135.   UNTIL INKEY$<>""
  136.   RUN
  137. RETURN
  138. PROCEDURE cw_text
  139.   text$=@ei_text$
  140.   @cw_ausg(text$)
  141.   PRINT AT(1,11);"                                                               "
  142. RETURN
  143. PROCEDURE cw_gruppen
  144.   LOCAL a$,b$,str$
  145.   str$=""
  146.   RANDOMIZE
  147.   REPEAT
  148.     a=RANDOM(bis)+1
  149.     RESTORE cw_d
  150.     FOR i=1 TO a
  151.       READ a$,b$
  152.     NEXT i
  153.     IF LEN(b$)>8 THEN
  154.       b$=""
  155.     ENDIF
  156.     str$=str$+a$
  157.   UNTIL LEN(str$)=5
  158.   DEFTEXT 1,1,1,32
  159.   TEXT 1,240,str$
  160.   @cw_ausg(str$)
  161.   TEXT 1,240,"           "
  162. RETURN
  163. PROCEDURE cw_disk
  164.   in$=""
  165.   FILESELECT "A:\*.*","",dname$
  166.   IF EXIST(dname$)
  167.     OPEN "I",#1,dname$
  168.     WHILE NOT EOF(#1) OR in$<>""
  169.       in$=INKEY$
  170.       a=INP(#1)
  171.       a$=UPPER$(CHR$(a))
  172.       @cw_ausg(a$)
  173.     WEND
  174.     CLOSE #1
  175.   ENDIF
  176. RETURN
  177. PROCEDURE cw_end
  178.   end$=""
  179.   END
  180. RETURN
  181. '
  182. FUNCTION ei_text$
  183.   PRINT AT(2,11);CHR$(27);"e";
  184.   str$=""
  185.   spal=2
  186.   REPEAT
  187.     REPEAT
  188.       a$=INKEY$
  189.     UNTIL a$<>""
  190.     a$=UPPER$(a$)
  191.     IF CHR$(8)<>a$ THEN
  192.       IF spal<2+55 THEN
  193.         PRINT AT(spal,11);a$;
  194.         str$=str$+a$
  195.         spal=spal+1
  196.       ENDIF
  197.     ENDIF
  198.     IF a$=CHR$(8) AND spal>2 THEN
  199.       str$=LEFT$(str$,LEN(str$)-1)
  200.       PRINT CHR$(8);" ";CHR$(8);
  201.       spal=spal-1
  202.     ENDIF
  203.   UNTIL a$=CHR$(13)
  204.   PRINT AT(1,11);CHR$(27);"f";
  205.   RETURN str$
  206. ENDFUNC
  207. PROCEDURE cw_ausg(text$)
  208.   kanal=1
  209.   volumen=15
  210.   periode=190
  211.   FOR t=1 TO LEN(text$)
  212.     z$=MID$(text$,t,1)
  213.     z$=UPPER$(z$)
  214.     c$=@lesen$(z$)
  215.     DEFTEXT 1,1,1,32
  216.     st$=z$+" = "+c$
  217.     TEXT 200,350,st$
  218.     IF c$="ERROR" THEN
  219.       SOUND 1,15,#600,3
  220.       SOUND 1,0,#220,3
  221.       PAUSE p
  222.     ELSE
  223.       FOR b=1 TO LEN(c$)
  224.         a$=MID$(c$,b,1)
  225.         IF a$="."
  226.           dauer=spk
  227.           SOUND kanal,volumen,#periode,dauer
  228.           SOUND 1,0,#220,3
  229.         ENDIF
  230.         IF a$=CHR$(32)
  231.           PAUSE 120
  232.         ENDIF
  233.         IF a$="-"
  234.           dauer=spl
  235.           SOUND kanal,volumen,#periode,dauer
  236.           SOUND 1,0,#220,3
  237.         ENDIF
  238.       NEXT b
  239.       PAUSE p
  240.     ENDIF
  241.     TEXT 200,350,"                           "
  242.   NEXT t
  243. RETURN
  244. FUNCTION lesen$(z$)
  245.   LOCAL a$,b$
  246.   c$=""
  247.   RESTORE cw_d
  248.   REPEAT
  249.     READ a$,b$
  250.     IF z$=a$ THEN
  251.       c$=b$
  252.     ENDIF
  253.   UNTIL z$=a$ OR b$=verstr$
  254.   IF c$="" AND z$<>CHR$(32) THEN
  255.     c$="ERROR"
  256.   ENDIF
  257.   RETURN c$
  258. ENDFUNC
  259. cw_d:
  260. DATA "0","-----","1",".----","2","..---","3","...--","4","....-"
  261. DATA "5",".....","6","-....","7","--...","8","---..","9","----."
  262. DATA "A",".-","B","-...","C","-.-.","D","-..","E",".","F","..-."
  263. DATA "G","--.","H","....","I","..","J",".---","K","-.-","L",".-.."
  264. DATA "M","--","N","-.","O","---","P",".--.","Q","--.-","R",".-."
  265. DATA "S","...","T","-","U","..-","V","...-","W",".--","X","-..-"
  266. DATA "Y","-.--","Z","--..","x","xxxx1xxxx","=","-...-","?","..--..","+",".-.-."
  267. DATA "'",".----.","(","-.--.",")","-.--.-",":","---...",",","--..--"
  268. DATA "-","-....-","/","-..-.",".",".-.-.-","x","xxxx2xxxx"
  269. ' Viel spass !!!!!!!!!!!!!!!1
  270. ' vy , vy 73 55 und auf baldiges wiederschreiben !!!
  271. ' de Wolfgang DG2FO @ DB0SAO et
  272. ' de DG1EGV(joerg) on DB0OVV(Klubststion der OV L24).... DB0OVV @ DK0MWX
  273.  
  274.  
  275.  
  276.  
  277. bbs> Msg# 87748   To: ATARI @DL   From: DG2FO   Date: 21Nov90/1647
  278. Subject: Morseuebungs PRG !!!
  279. Bulletin ID: DB0SAO028650
  280. Hallo ATARI-Freunde die ihr CW lernen oder ueben wollt !!!
  281.  
  282. ' Hallo liebe YL's und OM's !
  283. ' Hier ist DG1EGV(joerg) an DB0OVV.
  284. ' Wir (DG2FO(Wolfgang) und ich) haben zusammen ein kleines
  285. ' Anfaenger-CW-bungsprogramm geschrieben.
  286.  
  287. bbs> Msg# 87900   To: ATARI @DL   From: DG2FO   Date: 22Nov90/0104
  288. Subject: CW - Uebungs PRG neu !!!
  289. Bulletin ID: 22B001DB0IE
  290. Path: DB0IE
  291.  
  292.  
  293.  
  294.  
  295. Hallo ATARI-Freunde die ihr CW lernen oder ueben wollt !!!
  296.  
  297.  
  298.  
  299.  
  300.  
  301. ' Hallo liebe YL's und OM's !
  302.  
  303. ' Hier ist DG1EGV(joerg) an DB0OVV.
  304.  
  305. ' Wir (DG2FO(Wolfgang) und ich) haben zusammen ein kleines
  306.  
  307. ' Anfaenger-CW-uebungsprogramm geschrieben.
  308.  
  309. ' Das Programm ist nichts besonderes, aber fuer den Anfang....
  310.  
  311. ' Es ist noch zu beachten das in den ALLERTBOXEN der " (der Vertikalestrich)
  312.  
  313. ' mitkommt ! Damit hatten wir bei der uebertragung schon Probleme !
  314.  
  315. ' Noch mal vielen Dank an alle OM's die mit wegen dem CW-uebungsprogramm
  316.  
  317. ' geschrieben hatten.... SO, UND JETZT :
  318.  
  319. ' WRITTEN BY JPV(DG1EGV) and DG2FO
  320.  
  321. verstr$="xxxx1xxxx"
  322.  
  323. bis=35
  324.  
  325. spl=9
  326.  
  327. spk=3
  328.  
  329. p=50
  330.  
  331. anf:
  332.  
  333. CLS
  334.  
  335. DEFFILL 1,2,4
  336.  
  337. DEFLINE 1,10
  338.  
  339. DEFTEXT 1,0,0,32
  340.  
  341. LINE 0,40,640,40
  342.  
  343. LINE 0,260,640,260
  344.  
  345. LINE 0,190,640,190
  346.  
  347. TEXT 10,30,"MORSEN"
  348.  
  349. DEFTEXT 1,0,0,13
  350.  
  351. TEXT 130,22,"Programmed by DG2FO und JPV(DG1EGV) Stand 10.10.90"
  352.  
  353. LINE 0,150,640,150
  354.  
  355. DEFLINE 1,1
  356.  
  357. TEXT 37,86,"F1    GRUPPEN"
  358.  
  359. BOX 20,70,70,90
  360.  
  361. FILL 27,86
  362.  
  363. TEXT 197,86,"F2    TEXT"
  364.  
  365. BOX 180,70,230,90
  366.  
  367. FILL 187,86
  368.  
  369. TEXT 337,86,"F3    TEXT VON DISK"
  370.  
  371. BOX 320,70,370,90
  372.  
  373. FILL 332,86
  374.  
  375. TEXT 530,86,"F10   INFO"
  376.  
  377. BOX 518,70,563,90
  378.  
  379. FILL 530,86
  380.  
  381.  
  382. bbs> Msg# 87909   To: ATARI @DL   From: DG2FO   Date: 22Nov90/0137
  383. Subject: Morseuebungs PRG neu !
  384. Bulletin ID: 21B039DB0IE
  385. Path: DB0CZ!DB0FRB!DB0GE!DB0LJ!DB0GV!DB0IE
  386. Hallo ATARI-Freunde die ihr CW lernen oder ueben wollt !!!
  387.  
  388.  
  389.  
  390. ' Hallo liebe YL's und OM's !
  391.  
  392. ' Hier ist DG1EGV(joerg) an DB0OVV.
  393.  
  394. ' Wir (DG2FO(Wolfgang) und ich) haben zusammen ein kleines
  395.  
  396.  
  397. bbs> Msg# 87915   To: ATARI @DL   From: DG2FO   Date: 22Nov90/0157
  398. Subject: Morseuebungs PRG neu !
  399. Bulletin ID: 21B03EDB0IE
  400. Path: DB0CZ!DB0FRB!DB0GE!DB0LJ!DB0GV!DB0IE
  401. Hallo ATARI-Freunde die ihr CW lernen oder ueben wollt !!!
  402.  
  403.  
  404.  
  405. ' Hallo liebe YL's und OM's !
  406.  
  407. ' Hier ist DG1EGV(joerg) an DB0OVV.
  408.  
  409. ' Wir (DG2FO(Wolfgang) und ich) haben zusammen ein kleines
  410.  
  411. ' Anfaenger-CW-uebungsprogramm geschrieben.
  412.  
  413. ' Das Programm ist nichts besonderes, aber fuer den Anfang....
  414.  
  415. ' Es ist noch zu beachten das in den ALLERTBOXEN der " (der Vertikalestrich)
  416.  
  417. ' mitkommt ! Damit hatten wir bei der uebertragung schon Probleme !
  418.  
  419. ' Noch mal vielen Dank an alle OM's die mit wegen dem CW-uebungsprogramm
  420.  
  421. ' geschrieben hatten.... SO, UND JETZT :
  422.  
  423. ' WRITTEN BY JPV(DG1EGV) and DG2FO
  424.  
  425. verstr$="xxxx1xxxx"
  426.  
  427. bis=35
  428.  
  429. spl=9
  430.  
  431. spk=3
  432.  
  433. p=50
  434.  
  435. anf:
  436.  
  437. CLS
  438.  
  439. DEFFILL 1,2,4
  440.  
  441. DEFLINE 1,10
  442.  
  443. DEFTEXT 1,0,0,32
  444.  
  445. LINE 0,40,640,40
  446.  
  447. LINE 0,260,640,260
  448.  
  449. LINE 0,190,640,190
  450.  
  451. TEXT 10,30,"MORSEN"
  452.  
  453. DEFTEXT 1,0,0,13
  454.  
  455. TEXT 130,22,"Programmed by DG2FO und JPV(DG1EGV) Stand 10.10.90"
  456.  
  457. LINE 0,150,640,150
  458.  
  459. DEFLINE 1,1
  460.  
  461. TEXT 37,86,"F1    GRUPPEN"
  462.  
  463. BOX 20,70,70,90
  464.  
  465. FILL 27,86
  466.  
  467. TEXT 197,86,"F2    TEXT"
  468.  
  469. BOX 180,70,230,90
  470.  
  471. FILL 187,86
  472.  
  473. TEXT 337,86,"F3    TEXT VON DISK"
  474.  
  475. BOX 320,70,370,90
  476.  
  477. FILL 332,86
  478.  
  479. TEXT 530,86,"F10   INFO"
  480.  
  481. BOX 518,70,563,90
  482.  
  483. FILL 530,86
  484.  
  485. TEXT 37,120,"F4     END                  Auswahl von Tempo und Zeichen mit  [ ALT-S ]"
  486.  
  487. BOX 20,105,70,124
  488.  
  489. FILL 27,120
  490.  
  491. BOX 620,105,535,124
  492.  
  493. BOX 625,100,530,129
  494.  
  495. REPEAT
  496.  
  497.   a=INP(2)
  498.  
  499.   SELECT a
  500.  
  501.   CASE 187
  502.  
  503.     @cw_gruppen
  504.  
  505.   CASE 188
  506.  
  507.     @cw_text
  508.  
  509.   CASE 189
  510.  
  511.     @cw_disk
  512.  
  513.   CASE 190
  514.  
  515.     @cw_end
  516.  
  517.   CASE 196
  518.  
  519.     @cw_info
  520.  
  521.   CASE 159
  522.  
  523.     @setup
  524.  
  525.   CASE 163
  526.  
  527.     @help
  528.  
  529.     GOTO anf
  530.  
  531.   ENDSELECT
  532.  
  533. UNTIL FALSE
  534.  
  535. PROCEDURE setup
  536.  
  537.   ALERT 2,"  SETUP",1,"OKayee",a   ! HIER      (OKAY NEE)
  538.  
  539.   IF a=1 THEN
  540.  
  541.     ALERT 2,"Alle Zeichen",2,"JAEIN",a    ! HIER  ( JA NEIN)
  542.  
  543.     SELECT a
  544.  
  545.     CASE 1
  546.  
  547.       verstr$="xxxx2xxxx"
  548.  
  549.       bis=47-2
  550.  
  551.     CASE 2
  552.  
  553.       verstr$="xxxx1xxxx"
  554.  
  555.       bis=37-2
  556.  
  557.     ENDSELECT
  558.  
  559.     ALERT 2," SPEED",3,"1",a    !HIER   (1 2 3)
  560.  
  561.     SELECT a
  562.  
  563.     CASE 1
  564.  
  565.       spl=3
  566.  
  567.       spk=1
  568.  
  569.     CASE 2
  570.  
  571.       spl=6
  572.  
  573.       spk=2
  574.  
  575.     CASE 3
  576.  
  577.       spl=9
  578.  
  579.       spk=3
  580.  
  581.     ENDSELECT
  582.  
  583.     ALERT 3,"Pausen",3,"1",a     !HIER (1 2 3)
  584.  
  585.     SELECT a
  586.  
  587.     CASE 1
  588.  
  589.       p=10
  590.  
  591.     CASE 2
  592.  
  593.       p=30
  594.  
  595.     CASE 3
  596.  
  597.       p=50
  598.  
  599.     ENDSELECT
  600.  
  601.   ENDIF
  602.  
  603. RETURN
  604.  
  605. PROCEDURE cw_info
  606.  
  607.   CLS
  608.  
  609.   PRINT
  610.  
  611.   PRINT " Dieses Programm wurde von DG2FO im Entwurf geschrieben u. nachgearbeitet."
  612.  
  613.   PRINT " Nach einiger Zeit habe ich (DG1EGV) dieses Programm Modifiziert."
  614.  
  615.   PRINT " Das Programm ist in der Lage mit ALT-S eingestellt zu werden."
  616.  
  617.   PRINT " Dabei gillt das 1 schnell und 3.. langsam ist ."
  618.  
  619.   PRINT " Geschriebe fuer GFA 3.00 oder neuer !"
  620.  
  621.   PRINT " Dieses Programm ist PD-SOFT, und darf frei Kopiert werden."
  622.  
  623.   PRINT " Nachrichten bitte an DB0OVV @ DK0MWX"
  624.  
  625.   PRINT
  626.  
  627.   PRINT " Adressen der Autoren :"
  628.  
  629.   PRINT " Joerg Plenert"
  630.  
  631.   PRINT " Toenningstr. 64"
  632.  
  633.   PRINT " 4223 Voerde"
  634.  
  635.   PRINT " DG1EGV,  DB0OVV @ DK0MWX"
  636.  
  637.   PRINT
  638.  
  639.   PRINT " Wolfgang Wenger "
  640.  
  641.   PRINT " Schuetzenbuehlstr. 3"
  642.  
  643.   PRINT " 7000 Stuttgart 40 "
  644.  
  645.   PRINT " DG2FO @ DB0IE "
  646.  
  647.   PRINT
  648.  
  649.   PRINT " F1 GRUPPEN   F2 TEXT eingeben   F3 TEXT von Disk  F10 diesen TEXT"
  650.  
  651.   PRINT
  652.  
  653.   PRINT " F4 beendet das Programm        *** JEDE TASTE FUER ZUM START ***"
  654.  
  655.   PRINT
  656.  
  657.   PRINT "                         TASTE ?"
  658.  
  659.   REPEAT
  660.  
  661.   UNTIL INKEY$<>""
  662.  
  663.   RUN
  664.  
  665. RETURN
  666.  
  667. PROCEDURE cw_text
  668.  
  669.   text$=@ei_text$
  670.  
  671.   @cw_ausg(text$)
  672.  
  673.   PRINT AT(1,11);"                                                               "
  674.  
  675. RETURN
  676.  
  677. PROCEDURE cw_gruppen
  678.  
  679.   LOCAL a$,b$,str$
  680.  
  681.   str$=""
  682.  
  683.   RANDOMIZE
  684.  
  685.   REPEAT
  686.  
  687.     a=RANDOM(bis)+1
  688.  
  689.     RESTORE cw_d
  690.  
  691.     FOR i=1 TO a
  692.  
  693.       READ a$,b$
  694.  
  695.     NEXT i
  696.  
  697.     IF LEN(b$)>8 THEN
  698.  
  699.       b$=""
  700.  
  701.     ENDIF
  702.  
  703.     str$=str$+a$
  704.  
  705.   UNTIL LEN(str$)=5
  706.  
  707.   DEFTEXT 1,1,1,32
  708.  
  709.   TEXT 1,240,str$
  710.  
  711.   @cw_ausg(str$)
  712.  
  713.   TEXT 1,240,"           "
  714.  
  715. RETURN
  716.  
  717. PROCEDURE cw_disk
  718.  
  719.   in$=""
  720.  
  721.   FILESELECT "A:\*.*","",dname$
  722.  
  723.   IF EXIST(dname$)
  724.  
  725.     OPEN "I",#1,dname$
  726.  
  727.     WHILE NOT EOF(#1) OR in$<>""
  728.  
  729.       in$=INKEY$
  730.  
  731.       a=INP(#1)
  732.  
  733.       a$=UPPER$(CHR$(a))
  734.  
  735.       @cw_ausg(a$)
  736.  
  737.     WEND
  738.  
  739.     CLOSE #1
  740.  
  741.   ENDIF
  742.  
  743. RETURN
  744.  
  745. PROCEDURE cw_end
  746.  
  747.   end$=""
  748.  
  749.   END
  750.  
  751. RETURN
  752.  
  753. '
  754.  
  755. FUNCTION ei_text$
  756.  
  757.   PRINT AT(2,11);CHR$(27);"e";
  758.  
  759.   str$=""
  760.  
  761.   spal=2
  762.  
  763.   REPEAT
  764.  
  765.     REPEAT
  766.  
  767.       a$=INKEY$
  768.  
  769.     UNTIL a$<>""
  770.  
  771.     a$=UPPER$(a$)
  772.  
  773.     IF CHR$(8)<>a$ THEN
  774.  
  775.       IF spal<2+55 THEN
  776.  
  777.         PRINT AT(spal,11);a$;
  778.  
  779.         str$=str$+a$
  780.  
  781.         spal=spal+1
  782.  
  783.       ENDIF
  784.  
  785.     ENDIF
  786.  
  787.     IF a$=CHR$(8) AND spal>2 THEN
  788.  
  789.       str$=LEFT$(str$,LEN(str$)-1)
  790.  
  791.       PRINT CHR$(8);" ";CHR$(8);
  792.  
  793.       spal=spal-1
  794.  
  795.     ENDIF
  796.  
  797.   UNTIL a$=CHR$(13)
  798.  
  799.   PRINT AT(1,11);CHR$(27);"f";
  800.  
  801.   RETURN str$
  802.  
  803. ENDFUNC
  804.  
  805. PROCEDURE cw_ausg(text$)
  806.  
  807.   kanal=1
  808.  
  809.   volumen=15
  810.  
  811.   periode=190
  812.  
  813.   FOR t=1 TO LEN(text$)
  814.  
  815.     z$=MID$(text$,t,1)
  816.  
  817.     z$=UPPER$(z$)
  818.  
  819.     c$=@lesen$(z$)
  820.  
  821.     DEFTEXT 1,1,1,32
  822.  
  823.     st$=z$+" = "+c$
  824.  
  825.     TEXT 200,350,st$
  826.  
  827.     IF c$="ERROR" THEN
  828.  
  829.       '      SOUND 1,15,#600,3
  830.  
  831.       '      SOUND 1,0,#220,3
  832.  
  833.       '      PAUSE p+70                     !Pausenkorrektur
  834.  
  835.     ELSE
  836.  
  837.       FOR b=1 TO LEN(c$)
  838.  
  839.         a$=MID$(c$,b,1)
  840.  
  841.         IF a$="."
  842.  
  843.           dauer=spk+1!             Korrektur fuer high speed
  844.  
  845.           SOUND kanal,volumen,#periode,dauer
  846.  
  847.           SOUND 1,0,#220,3
  848.  
  849.         ENDIF
  850.  
  851.         IF a$=CHR$(32)
  852.  
  853.           PAUSE 120
  854.  
  855.         ENDIF
  856.  
  857.         IF a$="-"
  858.  
  859.           dauer=spl+4!              Korrektur fuer high speed
  860.  
  861.           SOUND kanal,volumen,#periode,dauer
  862.  
  863.           SOUND 1,0,#220,3
  864.  
  865.         ENDIF
  866.  
  867.       NEXT b
  868.  
  869.       PAUSE p
  870.  
  871.     ENDIF
  872.  
  873.     TEXT 200,350,"                           "
  874.  
  875.   NEXT t
  876.  
  877. RETURN
  878.  
  879. FUNCTION lesen$(z$)
  880.  
  881.   LOCAL a$,b$
  882.  
  883.   c$=""
  884.  
  885.   RESTORE cw_d
  886.  
  887.   REPEAT
  888.  
  889.     READ a$,b$
  890.  
  891.     IF z$=a$ THEN
  892.  
  893.       c$=b$
  894.  
  895.     ENDIF
  896.  
  897.   UNTIL z$=a$ OR b$=verstr$
  898.  
  899.   IF c$="" AND z$<>CHR$(32) THEN
  900.  
  901.     c$="ERROR"
  902.  
  903.   ENDIF
  904.  
  905.   RETURN c$
  906.  
  907. ENDFUNC
  908.  
  909. cw_d:
  910.  
  911. DATA "0","-----","1",".----","2","..---","3","...--","4","....-"
  912.  
  913. DATA "5",".....","6","-....","7","--...","8","---..","9","----."
  914.  
  915. DATA "A",".-","B","-...","C","-.-.","D","-..","E",".","F","..-."
  916.  
  917. DATA "G","--.","H","....","I","..","J",".---","K","-.-","L",".-.."
  918.  
  919. DATA "M","--","N","-.","O","---","P",".--.","Q","--.-","R",".-."
  920.  
  921. DATA "S","...","T","-","U","..-","V","...-","W",".--","X","-..-"
  922.  
  923. DATA "Y","-.--","Z","--..","x","xxxx1xxxx","=","-...-","?","..--..","+",".-.-."
  924.  
  925. DATA "'",".----.","(","-.--.",")","-.--.-",":","---...",",","--..--","*","-.-.-"
  926.  
  927. DATA "!","...-.-","-","-....-","/","-..-.",".",".-.-.-","x","xxxx2xxxx"
  928.  
  929. ' Viel spass !!!!!!!!!!!!!!!
  930.  
  931. ' vy , vy 73 55 und auf baldiges wiederschreiben !!!
  932.  
  933. ' de Wolfgang DG2FO @ DB0IE et ( OV P51 )
  934.  
  935. ' de DG1EGV(joerg) on DB0OVV(Klubststion der OV L24).... DB0OVV @ DK0MWX
  936.  
  937.  
  938. bbs> Msg# 88022   To: ATARI @DL   From: DG2FO   Date: 22Nov90/1047
  939. Subject: CW Uebungs PRG !!!
  940. Bulletin ID: 22B00CDB0IE
  941. Path: DB0IE
  942.  
  943.  
  944.  
  945.  
  946. ' Hallo liebe YL's und OM's !
  947.  
  948. ' Hier ist DG1EGV(joerg) an DB0OVV.
  949.  
  950. ' Wir (DG2FO(Wolfgang) und ich) haben zusammen ein kleines
  951.  
  952. ' Anfaenger-CW-Uebungsprogramm geschrieben.
  953.  
  954. ' Das Programm ist nichts besonderes, aber fuer den Anfang....
  955.  
  956. ' Es ist noch zu beachten das in den ALLERTBOXEN der " (der Vertikalestrich)
  957.  
  958. ' mitkommt ! Damit hatten wir bei der Uebertragung schon Probleme !
  959.  
  960.  
  961. bbs> Msg# 88105   To: ATARI @DL   From: DG2FO   Date: 23Nov90/0016
  962. Subject: CW Uebungs PRG !!!
  963. Bulletin ID: 22B022DB0IE
  964. Path: DB0IE
  965.  Hallo liebe YL's und OM's !
  966.  
  967.  Hier ist DG1EGV(joerg) an DB0OVV.
  968.  
  969.  Wir (DG2FO(Wolfgang) und ich) haben zusammen ein kleines
  970.  
  971.  Anfaenger-CW-Uebungsprogramm geschrieben.
  972.  
  973.  Das Programm ist nichts besonderes, aber fuer den Anfang....
  974.  
  975.  Es ist noch zu beachten das in den ALLERTBOXEN der " (der Vertikalestrich)
  976.  
  977.  mitkommt ! Damit hatten wir bei der Uebertragung schon Probleme !
  978.  
  979.  Noch mal vielen Dank an alle OM's die mit wegen dem CW-Uebungsprogramm
  980.  
  981.  geschrieben hatten.... SO, UND JETZT :
  982.  
  983.  WRITTEN BY JPV(DG1EGV) and DG2FO
  984.  
  985. verstr$="xxxx1xxxx"
  986.  
  987. bis=35
  988.  
  989. spl=9
  990.  
  991. spk=3
  992.  
  993. p=50
  994.  
  995. anf:
  996.  
  997. CLS
  998.  
  999. DEFFILL 1,2,4
  1000.  
  1001. DEFLINE 1,10
  1002.  
  1003. DEFTEXT 1,0,0,32
  1004.  
  1005. LINE 0,40,640,40
  1006.  
  1007. LINE 0,260,640,260
  1008.  
  1009. LINE 0,190,640,190
  1010.  
  1011. TEXT 10,30,"MORSEN"
  1012.  
  1013. DEFTEXT 1,0,0,13
  1014.  
  1015. TEXT 130,22,"Programmed by DG2FO und JPV(DG1EGV) Stand 10.10.90"
  1016.  
  1017. LINE 0,150,640,150
  1018.  
  1019. DEFLINE 1,1
  1020.  
  1021. TEXT 37,86,"F1    GRUPPEN"
  1022.  
  1023. BOX 20,70,70,90
  1024.  
  1025. FILL 27,86
  1026.  
  1027. TEXT 197,86,"F2    TEXT"
  1028.  
  1029. BOX 180,70,230,90
  1030.  
  1031. FILL 187,86
  1032.  
  1033. TEXT 337,86,"F3    TEXT VON DISK"
  1034.  
  1035. BOX 320,70,370,90
  1036.  
  1037. FILL 332,86
  1038.  
  1039. TEXT 530,86,"F10   INFO"
  1040.  
  1041. BOX 518,70,563,90
  1042.  
  1043. FILL 530,86
  1044.  
  1045. TEXT 37,120,"F4     END                  Auswahl von Tempo und Zeichen mit  [ ALT-S ]"
  1046.  
  1047. BOX 20,105,70,124
  1048.  
  1049. FILL 27,120
  1050.  
  1051. BOX 620,105,535,124
  1052.  
  1053. BOX 625,100,530,129
  1054.  
  1055. REPEAT
  1056.  
  1057.   a=INP(2)
  1058.  
  1059.   SELECT a
  1060.  
  1061.   CASE 187
  1062.  
  1063.     @cw_gruppen
  1064.  
  1065.   CASE 188
  1066.  
  1067.     @cw_text
  1068.  
  1069.   CASE 189
  1070.  
  1071.     @cw_disk
  1072.  
  1073.   CASE 190
  1074.  
  1075.     @cw_end
  1076.  
  1077.   CASE 196
  1078.  
  1079.     @cw_info
  1080.  
  1081.   CASE 159
  1082.  
  1083.     @setup
  1084.  
  1085.   CASE 163
  1086.  
  1087.     @help
  1088.  
  1089.     GOTO anf
  1090.  
  1091.   ENDSELECT
  1092.  
  1093. UNTIL FALSE
  1094.  
  1095. PROCEDURE setup
  1096.  
  1097.   ALERT 2,"  SETUP",1,"OKayee",a   ! HIER      (OKAY!NEE)
  1098.  
  1099.   IF a=1 THEN
  1100.  
  1101.     ALERT 2,"Alle Zeichen",1,"JAEIN",a    ! HIER  ( JA!NEIN)
  1102.  
  1103.     SELECT a
  1104.  
  1105.     CASE 1
  1106.  
  1107.       verstr$="xxxx2xxxx"
  1108.  
  1109.       bis=47-2
  1110.  
  1111.     CASE 2
  1112.  
  1113.       verstr$="xxxx1xxxx"
  1114.  
  1115.       bis=37-2
  1116.  
  1117.     ENDSELECT
  1118.  
  1119.     ALERT 2," SPEED",3,"1",a    !HIER   (1!2!3)
  1120.  
  1121.     SELECT a
  1122.  
  1123.     CASE 1
  1124.  
  1125.       spl=3
  1126.  
  1127.       spk=1
  1128.  
  1129.     CASE 2
  1130.  
  1131.       spl=6
  1132.  
  1133.       spk=2
  1134.  
  1135.     CASE 3
  1136.  
  1137.       spl=9
  1138.  
  1139.       spk=3
  1140.  
  1141.     ENDSELECT
  1142.  
  1143.     ALERT 3,"Pausen",3,"1",a     !HIER (1!2!3)
  1144.  
  1145.     SELECT a
  1146.  
  1147.     CASE 1
  1148.  
  1149.       p=10
  1150.  
  1151.     CASE 2
  1152.  
  1153.       p=30
  1154.  
  1155.     CASE 3
  1156.  
  1157.       p=50
  1158.  
  1159.     ENDSELECT
  1160.  
  1161.   ENDIF
  1162.  
  1163. RETURN
  1164.  
  1165. PROCEDURE cw_info
  1166.  
  1167.   CLS
  1168.  
  1169.   PRINT
  1170.  
  1171.   PRINT " Dieses Programm wurde von DG2FO im Entwurf geschrieben u. nachgearbeitet."
  1172.  
  1173.   PRINT " Nach einiger Zeit habe ich (DG1EGV) dieses Programm Modifiziert."
  1174.  
  1175.   PRINT " Das Programm ist in der Lage mit ALT-S eingestellt zu werden."
  1176.  
  1177.   PRINT " Dabei gillt das 1 schnell und 3.. langsam ist ."
  1178.  
  1179.   PRINT " Geschriebe fuer GFA 3.00 oder neuer !"
  1180.  
  1181.   PRINT " Dieses Programm ist PD-SOFT, und darf frei Kopiert werden."
  1182.  
  1183.   PRINT " Nachrichten bitte an DB0OVV @ DK0MWX"
  1184.  
  1185.   PRINT
  1186.  
  1187.   PRINT " Adressen der Autoren :"
  1188.  
  1189.   PRINT " Joerg Plenert"
  1190.  
  1191.   PRINT " Toenningstr. 64"
  1192.  
  1193.   PRINT " 4223 Voerde"
  1194.  
  1195.   PRINT " DG1EGV,  DB0OVV @ DK0MWX"
  1196.  
  1197.   PRINT
  1198.  
  1199.   PRINT " Wolfgang Wenger "
  1200.  
  1201.   PRINT " Schuetzenbuehlstr. 3"
  1202.  
  1203.   PRINT " 7000 Stuttgart 40 "
  1204.  
  1205.   PRINT " DG2FO @ DB0SAO "
  1206.  
  1207.   PRINT
  1208.  
  1209.   PRINT " F1 GRUPPEN   F2 TEXT eingeben   F3 TEXT von Disk  F10 diesen TEXT"
  1210.  
  1211.   PRINT
  1212.  
  1213.   PRINT " F4 beendet das Programm        *** JEDE TASTE FUER ZUM START ***"
  1214.  
  1215.   PRINT
  1216.  
  1217.   PRINT "                         TASTE ?"
  1218.  
  1219.   REPEAT
  1220.  
  1221.   UNTIL INKEY$<>""
  1222.  
  1223.   RUN
  1224.  
  1225. RETURN
  1226.  
  1227. PROCEDURE cw_text
  1228.  
  1229.   text$=@ei_text$
  1230.  
  1231.   @cw_ausg(text$)
  1232.  
  1233.   PRINT AT(1,11);"                                                               "
  1234.  
  1235. RETURN
  1236.  
  1237. PROCEDURE cw_gruppen
  1238.  
  1239.   LOCAL a$,b$,str$
  1240.  
  1241.   str$=""
  1242.  
  1243.   RANDOMIZE
  1244.  
  1245.   REPEAT
  1246.  
  1247.     a=RANDOM(bis)+1
  1248.  
  1249.     RESTORE cw_d
  1250.  
  1251.     FOR i=1 TO a
  1252.  
  1253.       READ a$,b$
  1254.  
  1255.     NEXT i
  1256.  
  1257.     IF LEN(b$)>8 THEN
  1258.  
  1259.       b$=""
  1260.  
  1261.     ENDIF
  1262.  
  1263.     str$=str$+a$
  1264.  
  1265.   UNTIL LEN(str$)=5
  1266.  
  1267.   DEFTEXT 1,1,1,32
  1268.  
  1269.   TEXT 1,240,str$
  1270.  
  1271.   @cw_ausg(str$)
  1272.  
  1273.   TEXT 1,240,"           "
  1274.  
  1275. RETURN
  1276.  
  1277. PROCEDURE cw_disk
  1278.  
  1279.   in$=""
  1280.  
  1281.   FILESELECT "A:\*.*","",dname$
  1282.  
  1283.   IF EXIST(dname$)
  1284.  
  1285.     OPEN "I",#1,dname$
  1286.  
  1287.     WHILE NOT EOF(#1) OR in$<>""
  1288.  
  1289.       in$=INKEY$
  1290.  
  1291.       a=INP(#1)
  1292.  
  1293.       a$=UPPER$(CHR$(a))
  1294.  
  1295.       @cw_ausg(a$)
  1296.  
  1297.     WEND
  1298.  
  1299.     CLOSE #1
  1300.  
  1301.   ENDIF
  1302.  
  1303. RETURN
  1304.  
  1305. PROCEDURE cw_end
  1306.  
  1307.   end$=""
  1308.  
  1309.   END
  1310.  
  1311. RETURN
  1312.  
  1313. '
  1314.  
  1315. FUNCTION ei_text$
  1316.  
  1317.   PRINT AT(2,11);CHR$(27);"e";
  1318.  
  1319.   str$=""
  1320.  
  1321.   spal=2
  1322.  
  1323.   REPEAT
  1324.  
  1325.     REPEAT
  1326.  
  1327.       a$=INKEY$
  1328.  
  1329.     UNTIL a$<>""
  1330.  
  1331.     a$=UPPER$(a$)
  1332.  
  1333.     IF CHR$(8)<>a$ THEN
  1334.  
  1335.       IF spal<2+55 THEN
  1336.  
  1337.         PRINT AT(spal,11);a$;
  1338.  
  1339.         str$=str$+a$
  1340.  
  1341.         spal=spal+1
  1342.  
  1343.       ENDIF
  1344.  
  1345.     ENDIF
  1346.  
  1347.     IF a$=CHR$(8) AND spal>2 THEN
  1348.  
  1349.       str$=LEFT$(str$,LEN(str$)-1)
  1350.  
  1351.       PRINT CHR$(8);" ";CHR$(8);
  1352.  
  1353.       spal=spal-1
  1354.  
  1355.     ENDIF
  1356.  
  1357.   UNTIL a$=CHR$(13)
  1358.  
  1359.   PRINT AT(1,11);CHR$(27);"f";
  1360.  
  1361.   RETURN str$
  1362.  
  1363. ENDFUNC
  1364.  
  1365. PROCEDURE cw_ausg(text$)
  1366.  
  1367.   kanal=1
  1368.  
  1369.   volumen=15
  1370.  
  1371.   periode=190
  1372.  
  1373.   FOR t=1 TO LEN(text$)
  1374.  
  1375.     z$=MID$(text$,t,1)
  1376.  
  1377.     z$=UPPER$(z$)
  1378.  
  1379.     c$=@lesen$(z$)
  1380.  
  1381.     DEFTEXT 1,1,1,32
  1382.  
  1383.     st$=z$+" = "+c$
  1384.  
  1385.     TEXT 200,350,st$
  1386.  
  1387.     IF c$="ERROR" THEN
  1388.  
  1389.       '      SOUND 1,15,#600,3
  1390.  
  1391.       '      SOUND 1,0,#220,3
  1392.  
  1393.       '      PAUSE p+70                     !Pausenkorrektur
  1394.  
  1395.     ELSE
  1396.  
  1397.       FOR b=1 TO LEN(c$)
  1398.  
  1399.         a$=MID$(c$,b,1)
  1400.  
  1401.         IF a$="."
  1402.  
  1403.           dauer=spk+1!             Korrektur fuer high speed
  1404.  
  1405.           SOUND kanal,volumen,#periode,dauer
  1406.  
  1407.           SOUND 1,0,#220,3
  1408.  
  1409.         ENDIF
  1410.  
  1411.         IF a$=CHR$(32)
  1412.  
  1413.           PAUSE 120
  1414.  
  1415.         ENDIF
  1416.  
  1417.         IF a$="-"
  1418.  
  1419.           dauer=spl+4!              Korrektur fuer high speed
  1420.  
  1421.           SOUND kanal,volumen,#periode,dauer
  1422.  
  1423.           SOUND 1,0,#220,3
  1424.  
  1425.         ENDIF
  1426.  
  1427.       NEXT b
  1428.  
  1429.       PAUSE p
  1430.  
  1431.     ENDIF
  1432.  
  1433.     TEXT 200,350,"                           "
  1434.  
  1435.   NEXT t
  1436.  
  1437. RETURN
  1438.  
  1439. FUNCTION lesen$(z$)
  1440.  
  1441.   LOCAL a$,b$
  1442.  
  1443.   c$=""
  1444.  
  1445.   RESTORE cw_d
  1446.  
  1447.   REPEAT
  1448.  
  1449.     READ a$,b$
  1450.  
  1451.     IF z$=a$ THEN
  1452.  
  1453.       c$=b$
  1454.  
  1455.     ENDIF
  1456.  
  1457.   UNTIL z$=a$ OR b$=verstr$
  1458.  
  1459.   IF c$="" AND z$<>CHR$(32) THEN
  1460.  
  1461.     c$="ERROR"
  1462.  
  1463.   ENDIF
  1464.  
  1465.   RETURN c$
  1466.  
  1467. ENDFUNC
  1468.  
  1469. cw_d:
  1470.  
  1471. DATA "0","-----","1",".----","2","..---","3","...--","4","....-"
  1472.  
  1473. DATA "5",".....","6","-....","7","--...","8","---..","9","----."
  1474.  
  1475. DATA "A",".-","B","-...","C","-.-.","D","-..","E",".","F","..-."
  1476.  
  1477. DATA "G","--.","H","....","I","..","J",".---","K","-.-","L",".-.."
  1478.  
  1479. DATA "M","--","N","-.","O","---","P",".--.","Q","--.-","R",".-."
  1480.  
  1481. DATA "S","...","T","-","U","..-","V","...-","W",".--","X","-..-"
  1482.  
  1483. DATA "Y","-.--","Z","--..","x","xxxx1xxxx","=","-...-","?","..--..","+",".-.-."
  1484.  
  1485. DATA "'",".----.","(","-.--.",")","-.--.-",":","---...",",","--..--","*","-.-.-"
  1486.  
  1487. DATA "!","...-.-","-","-....-","/","-..-.",".",".-.-.-","x","xxxx2xxxx"
  1488.  
  1489.  Viel spass !!!!!!!!!!!!!!!
  1490.  
  1491.  vy , vy 73 55 und auf baldiges wiederschreiben !!!
  1492.  
  1493.  de Wolfgang DG2FO @ DB0SAO et ( OV P51 )
  1494.  
  1495.  de DG1EGV(joerg) on DB0OVV(Klubststion der OV L24).... DB0OVV @ DK0MWX
  1496.  
  1497.  
  1498. bbs> Msg# 88966   To: ATARI @DL   From: DG2FO   Date: 25Nov90/2341
  1499. Subject: CW Uebungs PRG 23.11.90 !
  1500. Bulletin ID: 25B038DB0IE
  1501. Path: db0ie
  1502. ' Hallo liebe YL's und OM's !
  1503.  
  1504. ' Hier ist DG1EGV(joerg) an DB0OVV.
  1505.  
  1506. ' Wir (DG2FO(Wolfgang) und ich) haben zusammen ein kleines
  1507.  
  1508. ' Anfaenger-CW-Uebungsprogramm geschrieben.
  1509.  
  1510. ' Das Programm ist nichts besonderes, aber fuer den Anfang....
  1511.  
  1512. ' Es ist noch zu beachten das in den ALLERTBOXEN der " (der Vertikalestrich)
  1513.  
  1514. ' mitkommt ! Damit hatten wir bei der Uebertragung schon Probleme !
  1515.  
  1516. ' Noch mal vielen Dank an alle OM's die mit wegen dem CW-Uebungsprogramm
  1517.  
  1518. ' geschrieben hatten.... SO, UND JETZT :
  1519.  
  1520. ' WRITTEN BY JPV(DG1EGV) and DG2FO
  1521.  
  1522. verstr$="xxxx1xxxx"
  1523.  
  1524. bis=35
  1525.  
  1526. spl=9
  1527.  
  1528. spk=3
  1529.  
  1530. p=50
  1531.  
  1532. anf:
  1533.  
  1534. CLS
  1535.  
  1536. DEFFILL 1,2,4
  1537.  
  1538. DEFLINE 1,10
  1539.  
  1540. DEFTEXT 1,0,0,32
  1541.  
  1542. LINE 0,40,640,40
  1543.  
  1544. LINE 0,260,640,260
  1545.  
  1546. LINE 0,190,640,190
  1547.  
  1548. TEXT 10,30,"MORSEN"
  1549.  
  1550. DEFTEXT 1,0,0,13
  1551.  
  1552. TEXT 130,22,"Programmed by DG2FO und JPV(DG1EGV) Stand 23.11.90"
  1553.  
  1554. LINE 0,150,640,150
  1555.  
  1556. DEFLINE 1,1
  1557.  
  1558. TEXT 37,86,"F1    GRUPPEN"
  1559.  
  1560. BOX 20,70,70,90
  1561.  
  1562. FILL 27,86
  1563.  
  1564. TEXT 197,86,"F2    TEXT"
  1565.  
  1566. BOX 180,70,230,90
  1567.  
  1568. FILL 187,86
  1569.  
  1570. TEXT 337,86,"F3    TEXT VON DISK"
  1571.  
  1572. BOX 320,70,370,90
  1573.  
  1574. FILL 332,86
  1575.  
  1576. TEXT 530,86,"F10   INFO"
  1577.  
  1578. BOX 518,70,563,90
  1579.  
  1580. FILL 530,86
  1581.  
  1582. TEXT 37,120,"F4     END                  Auswahl von Tempo und Zeichen mit  [ ALT-S ]"
  1583.  
  1584. BOX 20,105,70,124
  1585.  
  1586. FILL 27,120
  1587.  
  1588. BOX 620,105,535,124
  1589.  
  1590. BOX 625,100,530,129
  1591.  
  1592. REPEAT
  1593.  
  1594.   a=INP(2)
  1595.  
  1596.   SELECT a
  1597.  
  1598.   CASE 187
  1599.  
  1600.     @cw_gruppen
  1601.  
  1602.   CASE 188
  1603.  
  1604.     @cw_text
  1605.  
  1606.   CASE 189
  1607.  
  1608.     @cw_disk
  1609.  
  1610.   CASE 190
  1611.  
  1612.     @cw_end
  1613.  
  1614.   CASE 196
  1615.  
  1616.     @cw_info
  1617.  
  1618.   CASE 159
  1619.  
  1620.     @setup
  1621.  
  1622.   CASE 163
  1623.  
  1624.     @help
  1625.  
  1626.     GOTO anf
  1627.  
  1628.   ENDSELECT
  1629.  
  1630. UNTIL FALSE
  1631.  
  1632. PROCEDURE setup
  1633.  
  1634.   ALERT 2,"  SETUP",1,"OKayee",a   ! HIER      (OKAY!NEE)
  1635.  
  1636.   IF a=1 THEN
  1637.  
  1638.     ALERT 2,"Alle Zeichen",1,"JAEIN",a    ! HIER  ( JA!NEIN)
  1639.  
  1640.     SELECT a
  1641.  
  1642.     CASE 1
  1643.  
  1644.       verstr$="xxxx2xxxx"
  1645.  
  1646.       bis=47-2
  1647.  
  1648.     CASE 2
  1649.  
  1650.       verstr$="xxxx1xxxx"
  1651.  
  1652.       bis=37-2
  1653.  
  1654.     ENDSELECT
  1655.  
  1656.     ALERT 2," SPEED",3,"1",a    !HIER   (1!2!3)
  1657.  
  1658.     SELECT a
  1659.  
  1660.     CASE 1
  1661.  
  1662.       spl=3
  1663.  
  1664.       spk=1
  1665.  
  1666.     CASE 2
  1667.  
  1668.       spl=6
  1669.  
  1670.       spk=2
  1671.  
  1672.     CASE 3
  1673.  
  1674.       spl=9
  1675.  
  1676.       spk=3
  1677.  
  1678.     ENDSELECT
  1679.  
  1680.     ALERT 3,"Pausen",3,"1",a     !HIER (1!2!3)
  1681.  
  1682.     SELECT a
  1683.  
  1684.     CASE 1
  1685.  
  1686.       p=10
  1687.  
  1688.     CASE 2
  1689.  
  1690.       p=30
  1691.  
  1692.     CASE 3
  1693.  
  1694.       p=50
  1695.  
  1696.     ENDSELECT
  1697.  
  1698.   ENDIF
  1699.  
  1700. RETURN
  1701.  
  1702. PROCEDURE cw_info
  1703.  
  1704.   CLS
  1705.  
  1706.   PRINT
  1707.  
  1708.   PRINT " Dieses Programm wurde von DG2FO im Entwurf geschrieben u. nachgearbeitet."
  1709.  
  1710.   PRINT " Nach einiger Zeit habe ich (DG1EGV) dieses Programm Modifiziert."
  1711.  
  1712.   PRINT " Das Programm ist in der Lage mit ALT-S eingestellt zu werden."
  1713.  
  1714.   PRINT " Dabei gillt das 1 schnell und 3.. langsam ist ."
  1715.  
  1716.   PRINT " Geschriebe fuer GFA 3.00 oder neuer !"
  1717.  
  1718.   PRINT " Dieses Programm ist PD-SOFT, und darf frei Kopiert werden."
  1719.  
  1720.   PRINT " Nachrichten bitte an DB0OVV @ DK0MWX"
  1721.  
  1722.   PRINT
  1723.  
  1724.   PRINT " Adressen der Autoren :"
  1725.  
  1726.   PRINT " Joerg Plenert"
  1727.  
  1728.   PRINT " Toenningstr. 64"
  1729.  
  1730.   PRINT " 4223 Voerde"
  1731.  
  1732.   PRINT " DG1EGV,  DB0OVV @ DK0MWX"
  1733.  
  1734.   PRINT
  1735.  
  1736.   PRINT " Wolfgang Wenger "
  1737.  
  1738.   PRINT " Schuetzenbuehlstr. 3"
  1739.  
  1740.   PRINT " 7000 Stuttgart 40 "
  1741.  
  1742.   PRINT " DG2FO @ DB0SAO "
  1743.  
  1744.   PRINT
  1745.  
  1746.   PRINT " F1 GRUPPEN   F2 TEXT eingeben   F3 TEXT von Disk  F10 diesen TEXT"
  1747.  
  1748.   PRINT
  1749.  
  1750.   PRINT " F4 beendet das Programm        *** JEDE TASTE FUER ZUM START ***"
  1751.  
  1752.   PRINT " !! Bei '*' wird Anfangs- und bei '!' wird End-zeichen gesendet!!"
  1753.  
  1754.   PRINT "                         TASTE ?"
  1755.  
  1756.   REPEAT
  1757.  
  1758.   UNTIL INKEY$<>""
  1759.  
  1760.   RUN
  1761.  
  1762. RETURN
  1763.  
  1764. PROCEDURE cw_text
  1765.  
  1766.   text$=@ei_text$
  1767.  
  1768.   @cw_ausg(text$)
  1769.  
  1770.   PRINT AT(1,11);"                                                               "
  1771.  
  1772. RETURN
  1773.  
  1774. PROCEDURE cw_gruppen
  1775.  
  1776.   LOCAL a$,b$,str$
  1777.  
  1778.   str$=""
  1779.  
  1780.   RANDOMIZE
  1781.  
  1782.   REPEAT
  1783.  
  1784.     a=RANDOM(bis)+1
  1785.  
  1786.     RESTORE cw_d
  1787.  
  1788.     FOR i=1 TO a
  1789.  
  1790.       READ a$,b$
  1791.  
  1792.     NEXT i
  1793.  
  1794.     IF LEN(b$)>8 THEN
  1795.  
  1796.       b$=""
  1797.  
  1798.     ENDIF
  1799.  
  1800.     str$=str$+a$
  1801.  
  1802.   UNTIL LEN(str$)=5
  1803.  
  1804.   DEFTEXT 1,1,1,32
  1805.  
  1806.   TEXT 1,240,str$
  1807.  
  1808.   @cw_ausg(str$)
  1809.  
  1810.   TEXT 1,240,"           "
  1811.  
  1812. RETURN
  1813.  
  1814. PROCEDURE cw_disk
  1815.  
  1816.   in$=""
  1817.  
  1818.   FILESELECT "A:\*.*","",dname$
  1819.  
  1820.   IF EXIST(dname$)
  1821.  
  1822.     OPEN "I",#1,dname$
  1823.  
  1824.     WHILE NOT EOF(#1) OR in$<>""
  1825.  
  1826.       in$=INKEY$
  1827.  
  1828.       a=INP(#1)
  1829.  
  1830.       a$=UPPER$(CHR$(a))
  1831.  
  1832.       @cw_ausg(a$)
  1833.  
  1834.     WEND
  1835.  
  1836.     CLOSE #1
  1837.  
  1838.   ENDIF
  1839.  
  1840. RETURN
  1841.  
  1842. PROCEDURE cw_end
  1843.  
  1844.   end$=""
  1845.  
  1846.   END
  1847.  
  1848. RETURN
  1849.  
  1850. '
  1851.  
  1852. FUNCTION ei_text$
  1853.  
  1854.   PRINT AT(2,11);CHR$(27);"e";
  1855.  
  1856.   str$=""
  1857.  
  1858.   spal=2
  1859.  
  1860.   REPEAT
  1861.  
  1862.     REPEAT
  1863.  
  1864.       a$=INKEY$
  1865.  
  1866.     UNTIL a$<>""
  1867.  
  1868.     a$=UPPER$(a$)
  1869.  
  1870.     IF CHR$(8)<>a$ THEN
  1871.  
  1872.       IF spal<2+55 THEN
  1873.  
  1874.         PRINT AT(spal,11);a$;
  1875.  
  1876.         str$=str$+a$
  1877.  
  1878.         spal=spal+1
  1879.  
  1880.       ENDIF
  1881.  
  1882.     ENDIF
  1883.  
  1884.     IF a$=CHR$(8) AND spal>2 THEN
  1885.  
  1886.       str$=LEFT$(str$,LEN(str$)-1)
  1887.  
  1888.       PRINT CHR$(8);" ";CHR$(8);
  1889.  
  1890.       spal=spal-1
  1891.  
  1892.     ENDIF
  1893.  
  1894.   UNTIL a$=CHR$(13)
  1895.  
  1896.   PRINT AT(1,11);CHR$(27);"f";
  1897.  
  1898.   RETURN str$
  1899.  
  1900. ENDFUNC
  1901.  
  1902. PROCEDURE cw_ausg(text$)
  1903.  
  1904.   kanal=1
  1905.  
  1906.   volumen=15
  1907.  
  1908.   periode=190
  1909.  
  1910.   FOR t=1 TO LEN(text$)
  1911.  
  1912.     z$=MID$(text$,t,1)
  1913.  
  1914.     z$=UPPER$(z$)
  1915.  
  1916.     c$=@lesen$(z$)
  1917.  
  1918.     DEFTEXT 1,1,1,32
  1919.  
  1920.     st$=z$+" = "+c$
  1921.  
  1922.     TEXT 200,350,st$
  1923.  
  1924.     IF c$="ERROR" THEN
  1925.  
  1926.       '      SOUND 1,15,#600,3
  1927.  
  1928.       '      SOUND 1,0,#220,3
  1929.  
  1930.       '      PAUSE p+70                     !Pausenkorrektur
  1931.  
  1932.     ELSE
  1933.  
  1934.       FOR b=1 TO LEN(c$)
  1935.  
  1936.         a$=MID$(c$,b,1)
  1937.  
  1938.         IF a$="."
  1939.  
  1940.           dauer=spk+1!             Korrektur fuer high speed
  1941.  
  1942.           SOUND kanal,volumen,#periode,dauer
  1943.  
  1944.           SOUND 1,0,#220,3
  1945.  
  1946.         ENDIF
  1947.  
  1948.         IF a$=CHR$(32)
  1949.  
  1950.           PAUSE 120
  1951.  
  1952.         ENDIF
  1953.  
  1954.         IF a$="-"
  1955.  
  1956.           dauer=spl+4!              Korrektur fuer high speed
  1957.  
  1958.           SOUND kanal,volumen,#periode,dauer
  1959.  
  1960.           SOUND 1,0,#220,3
  1961.  
  1962.         ENDIF
  1963.  
  1964.       NEXT b
  1965.  
  1966.       PAUSE p
  1967.  
  1968.     ENDIF
  1969.  
  1970.     TEXT 200,350,"                           "
  1971.  
  1972.   NEXT t
  1973.  
  1974. RETURN
  1975.  
  1976. FUNCTION lesen$(z$)
  1977.  
  1978.   LOCAL a$,b$
  1979.  
  1980.   c$=""
  1981.  
  1982.   RESTORE cw_d
  1983.  
  1984.   REPEAT
  1985.  
  1986.     READ a$,b$
  1987.  
  1988.     IF z$=a$ THEN
  1989.  
  1990.       c$=b$
  1991.  
  1992.     ENDIF
  1993.  
  1994.   UNTIL z$=a$ OR b$=verstr$
  1995.  
  1996.   IF c$="" AND z$<>CHR$(32) THEN
  1997.  
  1998.     c$="ERROR"
  1999.  
  2000.   ENDIF
  2001.  
  2002.   RETURN c$
  2003.  
  2004. ENDFUNC
  2005.  
  2006. cw_d:
  2007.  
  2008. DATA "0","-----","1",".----","2","..---","3","...--","4","....-"
  2009.  
  2010. DATA "5",".....","6","-....","7","--...","8","---..","9","----."
  2011.  
  2012. DATA "A",".-","B","-...","C","-.-.","D","-..","E",".","F","..-."
  2013.  
  2014. DATA "G","--.","H","....","I","..","J",".---","K","-.-","L",".-.."
  2015.  
  2016. DATA "M","--","N","-.","O","---","P",".--.","Q","--.-","R",".-."
  2017.  
  2018. DATA "S","...","T","-","U","..-","V","...-","W",".--","X","-..-"
  2019.  
  2020. DATA "Y","-.--","Z","--..","x","xxxx1xxxx","=","-...-","?","..--..","+",".-.-."
  2021.  
  2022. DATA "'",".----.","(","-.--.",")","-.--.-",":","---...",",","--..--","*","-.-.-"
  2023.  
  2024. DATA "!","...-.-","-","-....-","/","-..-.",".",".-.-.-","x","xxxx2xxxx"
  2025.  
  2026. ' Viel spass !!!!!!!!!!!!!!!
  2027.  
  2028. ' vy , vy 73 55 und auf baldiges wiederschreiben !!!
  2029.  
  2030. ' de Wolfgang DG2FO @ DB0SAO et ( OV P51 )
  2031.  
  2032. ' de DG1EGV(joerg) on DB0OVV(Klubststion der OV L24).... DB0OVV @ DK0MWX
  2033.  
  2034. ^™
  2035. Die vom bbs kommenden Eintraege muessen beseitigt werden und der PRG.Txt
  2036.  
  2037. in die Urspruengliche Form gebacht werden !
  2038.  
  2039.  
  2040.  
  2041. " Eingabezeile laenger als 79 Zeichen. Bitte vermeiden. "
  2042.  
  2043. " ?link out of range "
  2044.  
  2045.  
  2046.  
  2047.  
  2048. bbs> Msg# 89010   To: ATARI @DL   From: DG2FO   Date: 26Nov90/0138
  2049. Subject: CW Uebungs PRG 23.11.90 !
  2050. Bulletin ID: 26B001DB0IE
  2051. Path: db0ie
  2052. ' Hallo liebe YL's und OM's !
  2053.  
  2054. ' Hier ist DG1EGV(joerg) an DB0OVV.
  2055.  
  2056. ' Wir (DG2FO(Wolfgang) und ich) haben zusammen ein kleines
  2057.  
  2058. ' Anfaenger-CW-Uebungsprogramm geschrieben.
  2059.  
  2060. ' Das Programm ist nichts besonderes, aber fuer den Anfang....
  2061.  
  2062. ' Es ist noch zu beachten das in den ALLERTBOXEN der " (der Vertikalestrich)
  2063.  
  2064. ' mitkommt ! Damit hatten wir bei der Uebertragung schon Probleme !
  2065.  
  2066. ' Noch mal vielen Dank an alle OM's die mit wegen dem CW-Uebungsprogramm
  2067.  
  2068. ' geschrieben hatten.... SO, UND JETZT :
  2069.  
  2070. ' WRITTEN BY JPV(DG1EGV) and DG2FO
  2071.  
  2072. verstr$="xxxx1xxxx"
  2073.  
  2074. bis=35
  2075.  
  2076. spl=9
  2077.  
  2078. spk=3
  2079.  
  2080. p=50
  2081.  
  2082. anf:
  2083.  
  2084. CLS
  2085.  
  2086. DEFFILL 1,2,4
  2087.  
  2088. DEFLINE 1,10
  2089.  
  2090. DEFTEXT 1,0,0,32
  2091.  
  2092. LINE 0,40,640,40
  2093.  
  2094. LINE 0,260,640,260
  2095.  
  2096. LINE 0,190,640,190
  2097.  
  2098. TEXT 10,30,"MORSEN"
  2099.  
  2100. DEFTEXT 1,0,0,13
  2101.  
  2102. TEXT 130,22,"Programmed by DG2FO und JPV(DG1EGV) Stand 23.11.90"
  2103.  
  2104. LINE 0,150,640,150
  2105.  
  2106. DEFLINE 1,1
  2107.  
  2108. TEXT 37,86,"F1    GRUPPEN"
  2109.  
  2110. BOX 20,70,70,90
  2111.  
  2112. FILL 27,86
  2113.  
  2114. TEXT 197,86,"F2    TEXT"
  2115.  
  2116. BOX 180,70,230,90
  2117.  
  2118. FILL 187,86
  2119.  
  2120. TEXT 337,86,"F3    TEXT VON DISK"
  2121.  
  2122. BOX 320,70,370,90
  2123.  
  2124. FILL 332,86
  2125.  
  2126. TEXT 530,86,"F10   INFO"
  2127.  
  2128. BOX 518,70,563,90
  2129.  
  2130. FILL 530,86
  2131.  
  2132. TEXT 37,120,"F4     END                  Auswahl von Tempo und Zeichen mit  [ ALT-S ]"
  2133.  
  2134. BOX 20,105,70,124
  2135.  
  2136. FILL 27,120
  2137.  
  2138. BOX 620,105,535,124
  2139.  
  2140. BOX 625,100,530,129
  2141.  
  2142. REPEAT
  2143.  
  2144.   a=INP(2)
  2145.  
  2146.   SELECT a
  2147.  
  2148.   CASE 187
  2149.  
  2150.     @cw_gruppen
  2151.  
  2152.   CASE 188
  2153.  
  2154.     @cw_text
  2155.  
  2156.   CASE 189
  2157.  
  2158.     @cw_disk
  2159.  
  2160.   CASE 190
  2161.  
  2162.     @cw_end
  2163.  
  2164.   CASE 196
  2165.  
  2166.     @cw_info
  2167.  
  2168.   CASE 159
  2169.  
  2170.     @setup
  2171.  
  2172.   CASE 163
  2173.  
  2174.     @help
  2175.  
  2176.     GOTO anf
  2177.  
  2178.   ENDSELECT
  2179.  
  2180. UNTIL FALSE
  2181.  
  2182. PROCEDURE setup
  2183.  
  2184.   ALERT 2,"  SETUP",1,"OKayee",a   ! HIER      (OKAY!NEE)
  2185.  
  2186.   IF a=1 THEN
  2187.  
  2188.     ALERT 2,"Alle Zeichen",1,"JAEIN",a    ! HIER  ( JA!NEIN)
  2189.  
  2190.     SELECT a
  2191.  
  2192.     CASE 1
  2193.  
  2194.       verstr$="xxxx2xxxx"
  2195.  
  2196.       bis=47-2
  2197.  
  2198.     CASE 2
  2199.  
  2200.       verstr$="xxxx1xxxx"
  2201.  
  2202.       bis=37-2
  2203.  
  2204.     ENDSELECT
  2205.  
  2206.     ALERT 2," SPEED",3,"1",a    !HIER   (1!2!3)
  2207.  
  2208.     SELECT a
  2209.  
  2210.     CASE 1
  2211.  
  2212.       spl=3
  2213.  
  2214.       spk=1
  2215.  
  2216.     CASE 2
  2217.  
  2218.       spl=6
  2219.  
  2220.       spk=2
  2221.  
  2222.     CASE 3
  2223.  
  2224.       spl=9
  2225.  
  2226.       spk=3
  2227.  
  2228.     ENDSELECT
  2229.  
  2230.     ALERT 3,"Pausen",3,"1",a     !HIER (1!2!3)
  2231.  
  2232.     SELECT a
  2233.  
  2234.     CASE 1
  2235.  
  2236.       p=10
  2237.  
  2238.     CASE 2
  2239.  
  2240.       p=30
  2241.  
  2242.     CASE 3
  2243.  
  2244.       p=50
  2245.  
  2246.     ENDSELECT
  2247.  
  2248.   ENDIF
  2249.  
  2250. RETURN
  2251.  
  2252. PROCEDURE cw_info
  2253.  
  2254.   CLS
  2255.  
  2256.   PRINT
  2257.  
  2258.   PRINT " Dieses Programm wurde von DG2FO im Entwurf geschrieben u. nachgearbeitet."
  2259.  
  2260.   PRINT " Nach einiger Zeit habe ich (DG1EGV) dieses Programm Modifiziert."
  2261.  
  2262.   PRINT " Das Programm ist in der Lage mit ALT-S eingestellt zu werden."
  2263.  
  2264.   PRINT " Dabei gillt das 1 schnell und 3.. langsam ist ."
  2265.  
  2266.   PRINT " Geschriebe fuer GFA 3.00 oder neuer !"
  2267.  
  2268.   PRINT " Dieses Programm ist PD-SOFT, und darf frei Kopiert werden."
  2269.  
  2270.   PRINT " Nachrichten bitte an DB0OVV @ DK0MWX"
  2271.  
  2272.   PRINT
  2273.  
  2274.   PRINT " Adressen der Autoren :"
  2275.  
  2276.   PRINT " Joerg Plenert"
  2277.  
  2278.   PRINT " Toenningstr. 64"
  2279.  
  2280.   PRINT " 4223 Voerde"
  2281.  
  2282.   PRINT " DG1EGV,  DB0OVV @ DK0MWX"
  2283.  
  2284.   PRINT
  2285.  
  2286.   PRINT " Wolfgang Wenger "
  2287.  
  2288.   PRINT " Schuetzenbuehlstr. 3"
  2289.  
  2290.   PRINT " 7000 Stuttgart 40 "
  2291.  
  2292.   PRINT " DG2FO @ DB0SAO "
  2293.  
  2294.   PRINT
  2295.  
  2296.   PRINT " F1 GRUPPEN   F2 TEXT eingeben   F3 TEXT von Disk  F10 diesen TEXT"
  2297.  
  2298.   PRINT
  2299.  
  2300.   PRINT " F4 beendet das Programm        *** JEDE TASTE FUER ZUM START ***"
  2301.  
  2302.   PRINT " !! Bei '*' wird Anfangs- und bei '!' wird End-zeichen gesendet!!"
  2303.  
  2304.   PRINT "                         TASTE ?"
  2305.  
  2306.   REPEAT
  2307.  
  2308.   UNTIL INKEY$<>""
  2309.  
  2310.   RUN
  2311.  
  2312. RETURN
  2313.  
  2314. PROCEDURE cw_text
  2315.  
  2316.   text$=@ei_text$
  2317.  
  2318.   @cw_ausg(text$)
  2319.  
  2320.   PRINT AT(1,11);"                                                               "
  2321.  
  2322. RETURN
  2323.  
  2324. PROCEDURE cw_gruppen
  2325.  
  2326.   LOCAL a$,b$,str$
  2327.  
  2328.   str$=""
  2329.  
  2330.   RANDOMIZE
  2331.  
  2332.   REPEAT
  2333.  
  2334.     a=RANDOM(bis)+1
  2335.  
  2336.     RESTORE cw_d
  2337.  
  2338.     FOR i=1 TO a
  2339.  
  2340.       READ a$,b$
  2341.  
  2342.     NEXT i
  2343.  
  2344.     IF LEN(b$)>8 THEN
  2345.  
  2346.       b$=""
  2347.  
  2348.     ENDIF
  2349.  
  2350.     str$=str$+a$
  2351.  
  2352.   UNTIL LEN(str$)=5
  2353.  
  2354.   DEFTEXT 1,1,1,32
  2355.  
  2356.   TEXT 1,240,str$
  2357.  
  2358.   @cw_ausg(str$)
  2359.  
  2360.   TEXT 1,240,"           "
  2361.  
  2362. RETURN
  2363.  
  2364. PROCEDURE cw_disk
  2365.  
  2366.   in$=""
  2367.  
  2368.   FILESELECT "A:\*.*","",dname$
  2369.  
  2370.   IF EXIST(dname$)
  2371.  
  2372.     OPEN "I",#1,dname$
  2373.  
  2374.     WHILE NOT EOF(#1) OR in$<>""
  2375.  
  2376.       in$=INKEY$
  2377.  
  2378.       a=INP(#1)
  2379.  
  2380.       a$=UPPER$(CHR$(a))
  2381.  
  2382.       @cw_ausg(a$)
  2383.  
  2384.     WEND
  2385.  
  2386.     CLOSE #1
  2387.  
  2388.   ENDIF
  2389.  
  2390. RETURN
  2391.  
  2392. PROCEDURE cw_end
  2393.  
  2394.   end$=""
  2395.  
  2396.   END
  2397.  
  2398. RETURN
  2399.  
  2400. '
  2401.  
  2402. FUNCTION ei_text$
  2403.  
  2404.   PRINT AT(2,11);CHR$(27);"e";
  2405.  
  2406.   str$=""
  2407.  
  2408.   spal=2
  2409.  
  2410.   REPEAT
  2411.  
  2412.     REPEAT
  2413.  
  2414.       a$=INKEY$
  2415.  
  2416.     UNTIL a$<>""
  2417.  
  2418.     a$=UPPER$(a$)
  2419.  
  2420.     IF CHR$(8)<>a$ THEN
  2421.  
  2422.       IF spal<2+55 THEN
  2423.  
  2424.         PRINT AT(spal,11);a$;
  2425.  
  2426.         str$=str$+a$
  2427.  
  2428.         spal=spal+1
  2429.  
  2430.       ENDIF
  2431.  
  2432.     ENDIF
  2433.  
  2434.     IF a$=CHR$(8) AND spal>2 THEN
  2435.  
  2436.       str$=LEFT$(str$,LEN(str$)-1)
  2437.  
  2438.       PRINT CHR$(8);" ";CHR$(8);
  2439.  
  2440.       spal=spal-1
  2441.  
  2442.     ENDIF
  2443.  
  2444.   UNTIL a$=CHR$(13)
  2445.  
  2446.   PRINT AT(1,11);CHR$(27);"f";
  2447.  
  2448.   RETURN str$
  2449.  
  2450. ENDFUNC
  2451.  
  2452. PROCEDURE cw_ausg(text$)
  2453.  
  2454.   kanal=1
  2455.  
  2456.   volumen=15
  2457.  
  2458.   periode=190
  2459.  
  2460.   FOR t=1 TO LEN(text$)
  2461.  
  2462.     z$=MID$(text$,t,1)
  2463.  
  2464.     z$=UPPER$(z$)
  2465.  
  2466.     c$=@lesen$(z$)
  2467.  
  2468.     DEFTEXT 1,1,1,32
  2469.  
  2470.     st$=z$+" = "+c$
  2471.  
  2472.     TEXT 200,350,st$
  2473.  
  2474.     IF c$="ERROR" THEN
  2475.  
  2476.       '      SOUND 1,15,#600,3
  2477.  
  2478.       '      SOUND 1,0,#220,3
  2479.  
  2480.       '      PAUSE p+70                     !Pausenkorrektur
  2481.  
  2482.     ELSE
  2483.  
  2484.       FOR b=1 TO LEN(c$)
  2485.  
  2486.         a$=MID$(c$,b,1)
  2487.  
  2488.         IF a$="."
  2489.  
  2490.           dauer=spk+1!             Korrektur fuer high speed
  2491.  
  2492.           SOUND kanal,volumen,#periode,dauer
  2493.  
  2494.           SOUND 1,0,#220,3
  2495.  
  2496.         ENDIF
  2497.  
  2498.         IF a$=CHR$(32)
  2499.  
  2500.           PAUSE 120
  2501.  
  2502.         ENDIF
  2503.  
  2504.         IF a$="-"
  2505.  
  2506.           dauer=spl+4!              Korrektur fuer high speed
  2507.  
  2508.           SOUND kanal,volumen,#periode,dauer
  2509.  
  2510.           SOUND 1,0,#220,3
  2511.  
  2512.         ENDIF
  2513.  
  2514.       NEXT b
  2515.  
  2516.       PAUSE p
  2517.  
  2518.     ENDIF
  2519.  
  2520.     TEXT 200,350,"                           "
  2521.  
  2522.   NEXT t
  2523.  
  2524. RETURN
  2525.  
  2526. FUNCTION lesen$(z$)
  2527.  
  2528.   LOCAL a$,b$
  2529.  
  2530.   c$=""
  2531.  
  2532.   RESTORE cw_d
  2533.  
  2534.   REPEAT
  2535.  
  2536.     READ a$,b$
  2537.  
  2538.     IF z$=a$ THEN
  2539.  
  2540.       c$=b$
  2541.  
  2542.     ENDIF
  2543.  
  2544.   UNTIL z$=a$ OR b$=verstr$
  2545.  
  2546.   IF c$="" AND z$<>CHR$(32) THEN
  2547.  
  2548.     c$="ERROR"
  2549.  
  2550.   ENDIF
  2551.  
  2552.   RETURN c$
  2553.  
  2554. ENDFUNC
  2555.  
  2556. cw_d:
  2557.  
  2558. DATA "0","-----","1",".----","2","..---","3","...--","4","....-"
  2559.  
  2560. DATA "5",".....","6","-....","7","--...","8","---..","9","----."
  2561.  
  2562. DATA "A",".-","B","-...","C","-.-.","D","-..","E",".","F","..-."
  2563.  
  2564. DATA "G","--.","H","....","I","..","J",".---","K","-.-","L",".-.."
  2565.  
  2566. DATA "M","--","N","-.","O","---","P",".--.","Q","--.-","R",".-."
  2567.  
  2568. DATA "S","...","T","-","U","..-","V","...-","W",".--","X","-..-"
  2569.  
  2570. DATA "Y","-.--","Z","--..","x","xxxx1xxxx","=","-...-","?","..--..","+",".-.-."
  2571.  
  2572. DATA "'",".----.","(","-.--.",")","-.--.-",":","---...",",","--..--","*","-.-.-"
  2573.  
  2574. DATA "!","...-.-","-","-....-","/","-..-.",".",".-.-.-","x","xxxx2xxxx"
  2575.  
  2576. ' Viel spass !!!!!!!!!!!!!!!
  2577.  
  2578. ' vy , vy 73 55 und auf baldiges wiederschreiben !!!
  2579.  
  2580. ' de Wolfgang DG2FO @ DB0SAO et ( OV P51 )
  2581.  
  2582. ' de DG1EGV(joerg) on DB0OVV(Klubststion der OV L24).... DB0OVV @ DK0MWX
  2583.  
  2584.